python application structure